草庐IT

DOM 封装

全部标签

javascript - dom 或 html 文档中理想的 id 数量

我一直非常专注于javascript和提高我网站的性能。我经常做的一件事是,动态创建元素,并使用ID访问这些元素。也许你可以帮我解决一些问题。为文档中的每个有趣节点赋予唯一ID的主要缺点是什么?文档中理想的ID数量是多少?文档的ID数量是否有上限?在性能方面,通过cssclass获取元素是否比通过id获取元素慢?谢谢大家的回答。如果您对这些关于dom和访问它们的问题有任何补充说明,我们将不胜感激。谢谢。 最佳答案 除了IE、Safari和Chrome将“id”值提升到window属性的一个烦恼之外,我知道大量使用“id”值并没有真正

javascript - 更快地替换所有 dom 元素中的文本的方法?

我正在尝试替换标签之间的所有文本,我想知道这样做的最快方法。一个例子是尝试用任意字符串helloWorld替换所有文本,这样:RandomText1RandomText2变成这样:helloWorldhelloWorld我目前的做法是:在DOM上进行深度优先搜索(DFS)对于每个元素,解析并确定哪部分是文本,哪部分是元素。对于文本部分替换它。这对我来说真的很慢,尤其是尝试对大型文档执行此操作并且必须多次重复该过程。有没有更快的方法? 最佳答案 不需要解析每个元素来查找文本节点,递归遍历childNodes即可元素的属性varnewT

javascript - "return false"在某些浏览器中被忽略,因为链接使用 JavaScript 动态添加到 DOM

我动态添加一个(链接)标签到DOM中:varlink=document.createElement('a');link.href='http://www.google.com/';link.onclick=function(){window.open(this.href);returnfalse;};link.appendChild(document.createTextNode('Google'));//someDomNode.appendChild(link);我希望链接在新窗口中打开(我知道这不好,但这是必需的)。我也尝试使用“target”属性,但我也对这个解决方案有错误的行为

javascript - 如何移动 HTML DOM 元素的开始和结束标签?

我怎样才能改变这个:进入这个:使用jQuery?请注意,我特别只想移动开始和结束标签,而不是该表单的子元素。最好我想要一些jQuery.fn这样我就可以这样做:$('.move-me').changeNesting('.container');提前致谢! 最佳答案 使用unwrap和wrap:vartoMove=$('.move-me'​);toMove.​​​​​​children().unwrap()​;$('.container'​).wrap(toMove);​更新:请注意,如果表单嵌套了原始文本,上面的代码将不起作用。您可

javascript - 在 Polymer 元素中使用 light dom 中定义的模板

我正在尝试将模板从DOM移动到元素内部。这是我的元素:BOOMPolymer('bt-sortable-list',{ready:function(){vardiv=document.createElement('div');contentStr=this.trim(innerHTML);varparsed=markdown.toHTML(content);this.$.itemTemplate.innerHTML=parsed;this.list=[{name:'Item1',id:'item1'},{name:'Item2',id:'item2'},{name:'Item3',id

javascript - 是否可以使用 CSS 在 DOM 元素上为 SVG 背景设置动画?

我使用SMIL为SVG图像制作动画,然后将该图像用作DOM元素(例如,按钮)的背景。例如,这张SVG图像(http://mattstuehler.com/spinner.svg)但是,既然SMIL已被弃用,您将如何仅使用CSS来做到这一点?提前致谢!button{width:200px;height:60px;background-color:#eee;background-image:url(http://mattstuehler.com/spinner.svg);background-repeat:no-repeat;background-position:centercenter

html - 是否有可以在 DOM 中的任何地方使用的 HTML 标记?

这听起来有点像琐事问题,但它可以帮助我找出解决实际问题的选项。是否有可以在DOM中的任何地方使用的HTML标记?(用作占位符的东西)一个HTML5标签就可以了。不幸的是没有XHTML。我考虑了一下,我唯一能想出的标签是.否则,我猜几乎可以(?)在的任何地方工作和可以在工作.还有其他想法吗?我还没有彻底检查HTML5,所以我可能遗漏了更新的内容。此外,请不要想太多并尝试对我的问题进行逆向工程。使用标签作为占位符是我正在研究的众多不同选项之一,仅此而已。谢谢! 最佳答案 无法使用DOM的getElementsByTagName()检索评

javascript - DOM 元素过多

我正在构建一个单页网络应用程序,它开始变得相当大。该应用程序有多个组件,每个组件都经过精心设计。平均而言,该应用的DOM元素数为1200+。我的YSlow扫描已警告我这太多了,我应该拥有不超过700个DOM元素。我通常对我的标记非常严格和高效,我怀疑我能否削减很多。我倾向于使用大量DOM元素来获得完全正确的样式并跨浏览器工作。如何大幅减少DOM元素的数量?我是否必须按需加载更多内容(ajax)而不是在页面加载时全部加载?大量的DOM元素对性能影响大吗?我很想听听人们对此的经验以及您可能拥有的任何解决方案... 最佳答案 只有当您通过

javascript - 访问 Ionic 2 DOM 元素的样式

我正在尝试使用以下内容访问我的其中一个页面的DOM元素:ionViewDidEnter(){this.platform.ready().then(()=>{letelm=document.querySelector("ion-navbar.toolbar.toolbar-ios.statusbar-padding");console.log(elm.style);})}但是,这个元素似乎没有样式-我尝试了各种组合来访问它,但没有成功。具体来说,我正在寻找ion-navbar的高度。这可能吗? 最佳答案 你可以通过element.of

javascript - 向 DOM 元素添加非标准属性是一种不好的做法吗? - HTML/Javascript

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Isitconsideredbadpracticetousenon-standardHTMLattributes?大家好,我正在构建一个javascript库,其想法是向页面上的各种元素添加功能。完全隔离的最简单方法是添加一个非标准属性例如...其他选择是类和onclickjavascript。有什么想法吗?